#ifndef	TASK_HPP__
# define	TASK_HPP__

#include	<string>

class Task
{
private:
  static int		ct;
public:
  Task(std::string const& name);
  Task(Task const& t);
  Task	&operator=(Task const& t);
  virtual ~Task() {}

  std::string const&	getName() const;
  unsigned int		getId() const;

  virtual void		*toRun() = 0;

private:
  unsigned int		_id;
  std::string		_name;
};

#endif	/* !TASK_HPP__ */
